排序一个数组 [F,a,f,h,A,g,K],要求输出[A,a,F,f,g,h,K]

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:15:12
排序一个数组 [F,a,f,h,A,g,K],要求输出[A,a,F,f,g,h,K]
用java或者c语言实现
谢谢

交换排序,找到最小的然后找与其相对应的小写字符
void main()
{
char a[num] = {'F','a','f','h','A','g','K'};

char tmp = a[0];

int i=0, j=0;
while(i< num)
{
j= i+1;

while(j < num)
{
if(a[i] > a[j])
{
tmp = a[i];
a[i]= a[j];
a[j] = tmp;

for(int k = i+1; k< num; k++)
{
if(a[i] == a[k] - 32)
{
tmp = a[i+1];
a[i +1]= a[k];

a[k] = tmp;
i+=2;j++;
}

}//for
}//if
j++;

}//whilej
i++;
}
}

写一个comp函数,比较规则按题目要求来
a就是那个数组
然后sort(a,a+n,comp)